package java_DesignPattern.CreatorPattern.SingletonPattern.lazy.method1;

/**
 * 单例设计模式
 * 懒汉式:方式1(线程安全)---->加入synchronized关键字即可解决
 * if判断是否为null,如果是则创建实例,否则直接返回实例
 */
public class SingletonSafe {

    //声明一个静态变量来存储单例实例
    private static SingletonSafe singleton;

    //构造方法私有化,防止外部直接实例化
    private SingletonSafe() {
    }

    //提供一个全局访问点,用于获取单例实例
    public static synchronized SingletonSafe getInstanceSafe(){
        //判断实例是否为null,如果是则创建实例,否则直接返回实例----线程不安全
        if(singleton == null){
            singleton = new SingletonSafe();
        }
        return singleton;
    }
}
